This invention relates generally to communication circuitry and, more particularly, to a system and method for controlling the selective replacement of data in a repeated SONET/SDH protocol transmission.
Typically, SONET/SDH transmission and repeater circuitry is part larger overall system composed of several repeaters or support circuitry. The system is typically controlled using a single microprocessor. Among other functions, the processor inserts and removes critical portions of overhead from the SONET/SDH messages before they are retransmitted. A processor is required for at least some of the remove/insert operations as the decision to replace cannot be made a priori in some circumstances. With a significant portion of the message devoted to overhead, and the high SONET/SDH data rates, a large number of overhead bytes exist that can potentially be processed.
Because the processor is multiplexed to perform many other tasks, there is often a limit as to how many overhead bytes can be removed and replaced with different overhead bytes. Although is would be convenient for a user to be able to access every overhead byte with a processor, the use of a dedicated processor to perform the overhead replacement task is a waste of resources.
It would be advantageous if all the overhead bytes in a SONET/SDH message could be replaced, if desired, at a repeater before transmission.
It would be advantageous if all the overhead bytes in a SONET/SDH message could be replaced without the use of a dedicated processor.
It would be advantageous if a field programmable gate array (FPGA), or some similar device, could be used in conjunction with a processor to replace overhead bytes, with the FPGA being used to replace the predetermined bytes and the processor being used to replace bytes that are removed following a decision process.
It would be advantageous if bytes in a SONET/SDH frame could be selectively modified with information from a plurality of sources before it was retransmitted.
Accordingly, a method for arbitrating between data sources in data communications has been provided. The method comprising:
providing information streams;
selectively storing data from the information streams; and
transmitting a third stream of information including stored data selected from the provided information streams.
The selective storing of data includes storing data from a first and second information stream. The method further comprising:
selectively writing the stored data to the third stream of information;
Then, the transmission of the third stream of information includes transmitting selectively written data stored from the first and second information streams.
The method further comprising:
storing a first plurality of bits in a first memory. The provision of the first stream of information includes providing a first plurality data bytes, with each byte from the first plurality of data bytes corresponding to a respective bit in the first plurality of bits in the first memory. Likewise, each byte from the first plurality of data bytes in the second stream corresponds to a respective bit in the first plurality of bits in the first memory. Then, the data bytes from either the first or second streams of information are stored is responsive the respective bits in the first memory.
The method further comprising:
storing a first plurality of bits in the third memory;
providing a fourth stream of information including a first plurality of data bytes, with each byte from the first plurality of data bytes corresponding to a respective bit in the first plurality of bits in the third memory.
Then, the transmission of the third stream of information includes selectively transmitting data bytes from either the fourth stream of information or from the second memory in response the respective bits in the third memory.
In some aspects of the invention the fourth stream of information is in SONET/SDH protocol communication and includes a first message and overhead bytes. The first and second streams of information typically include overhead bytes. Therefore, transmission of the third stream of information includes transmitting the first message from the fourth stream, with overhead bytes selected from either the fourth stream of information or the second memory.
A communications source arbitrator is also provided. The arbitrator has input ports to receive information streams and a second memory having an input port for selectively storing information from the information streams. The second memory also has a second input to accept storage control signals and an output. An arbitrator third port is connected to the output of the second memory for transmitting a third stream of information including stored data from the second memory.
A first memory stores a first plurality of bits and has an output connected to the second memory to provide the storage control signals. The second memory selective stores data bytes from a first and second information stream ports in response control bits received from the first memory.
A third memory is also connected to the second memory to provide the first plurality of control bit signals. An arbitrator fourth port receives a fourth stream of information. The second memory selectively provides data bytes to the third port in response to control bits received from the third memory. That is, the third port transmits the third stream of information with data bytes selected from either the fourth stream of information or the second memory.